home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / OCXCONT.PAK / OCXCNTAP.CPP next >
C/C++ Source or Header  |  1997-05-06  |  2KB  |  87 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows
  3. // Copyright (c) 1995, 1996 by Borland International, All Rights Reserved
  4. //
  5. // $Revision:   10.0  $
  6. //
  7. // Sample illustrating a simple container with an OCX as client window
  8. //----------------------------------------------------------------------------
  9. #include <owl/pch.h>
  10. #if !defined(OWL_OLEFRAME_H)
  11. # include <owl/oleframe.h>
  12. #endif
  13. #if !defined(OWL_OLEFACTO_H)
  14. # include <owl/olefacto.h>
  15. #endif
  16. #if !defined(OCF_OCAPP_H)
  17. # include <ocf/ocapp.h>
  18. #endif
  19. #include "ocxcntap.h"
  20. #include "ocxcont.h"
  21. #include "ocxcont.rh"
  22.  
  23. //============================================================================
  24. // Create Application Dictionary
  25. //
  26. DEFINE_APP_DICTIONARY(AppDictionary);
  27.  
  28. // Create a pointer to a registrar object which will manage all registration
  29. // tasks for our application.
  30. // NOTE: 1. Using the smart pointer class frees us from cleanup chores
  31. //       2. This variable must be named 'Registrar' to allow us to take
  32. //          advantage of the TOleFactory template provided by the libraries.
  33. //
  34. static TPointer<TOcRegistrar> Registrar;
  35.  
  36. // Declare registration parameters of our application
  37. //
  38. BEGIN_REGISTRATION(AppReg)
  39.   REGDATA(clsid, "{E0407BA0-B023-11CF-AA17-0020AF1B5D5E}")
  40.   REGDATA(appname, "OCF OCX Container")
  41.   REGDATA(description, "OCX Container using OWL/OCF")
  42. END_REGISTRATION
  43.  
  44.  
  45. // TOCXContApp - application's main object
  46. //
  47. TOCXContApp::TOCXContApp()
  48.             :TApplication(::AppReg["appname"], ::Module, &::AppDictionary)
  49. {}
  50.  
  51. // TApplication method overriden to specify our main window object
  52. //
  53. void
  54. TOCXContApp::InitMainWindow()
  55. {
  56.   TOleFrame* frame = new TOleFrame(GetName(), 0, false);
  57.   frame->AssignMenu(IDM_MAIN);
  58.   SetMainWindow(frame);
  59. }
  60.  
  61. // TApplication method overriden to specify our client window
  62. //
  63. void TOCXContApp::InitInstance()
  64. {
  65.   TApplication::InitInstance();
  66.  
  67.   // Create and set Client Window
  68.   //
  69.   GetMainWindow()->SetClientWindow(new TOCXContWindow(0));
  70. }
  71.  
  72. // Application's entry point
  73. //
  74. int
  75. OwlMain(int /*argc*/, char* /*argv*/[])
  76. {
  77.   try {
  78.     ::Registrar = new TOcRegistrar(::AppReg,
  79.                                    TOleFactory<TOCXContApp>(),
  80.                                    TApplication::GetCmdLine());
  81.       return ::Registrar->Run();
  82.   }
  83.   catch (xmsg& x) {
  84.       return ::HandleGlobalException(x, "Exception");
  85.   }
  86. }
  87.